/**
 * Copyright &copy; 2012-2016 <a href="https://github.com/thinkgem/jeesite">JeeSite</a> All rights reserved.
 */
package com.thinkgem.jeesite.modules.cloudfactory.entity;

import java.util.Date;

import org.hibernate.validator.constraints.Length;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.thinkgem.jeesite.common.persistence.DataEntity;
import com.thinkgem.jeesite.modules.sys.entity.User;

/**
 * 单表生成Entity
 * @author ThinkGem
 * @version 2018-09-08
 */
public class CloudfactroyOrder extends DataEntity<CloudfactroyOrder> {
	
	private static final long serialVersionUID = 1L;
	private User user;		// 用户ID
	private String orderNo;		// 订单号
	private String menuType;		// 菜单类型(0仓储、1生产、2设备、3质量、4能源、5成本、6计划）
	private String menuName;		// 菜单名称
	private String menuId;		// 菜单id
	private String menuDescribe;		// 菜单描述
	private String functionName;		// 功能名称
	private String isRequired;//功能类别 0：基础功能； 1：选配功能
	private String functionId;		// 功能ID
	private String functionDescribe;		// 功能描述
	private String functionMoney;		// 功能金额
	private String totalMoney;//总价
	private String useTime;		// 购买时长
	private String userName;		// 用户名称
	private String companyName;		// 企业名称
	private String status;		// 订单状态（0未审核、1待支付、2已支付、3待提交）
	private String plant;		// 工厂编号
	private Date overDate;		// 过期时间
	private String factroyName;//工厂名称
	
	
	public String getFactroyName() {
		return factroyName;
	}

	public void setFactroyName(String factroyName) {
		this.factroyName = factroyName;
	}

	public CloudfactroyOrder() {
		super();
	}

	public CloudfactroyOrder(String id){
		super(id);
	}

	public String getTotalMoney() {
		return totalMoney;
	}

	public void setTotalMoney(String totalMoney) {
		this.totalMoney = totalMoney;
	}

	public User getUser() {
		return user;
	}

	public void setUser(User user) {
		this.user = user;
	}
	
	@Length(min=0, max=8, message="订单号长度必须介于 0 和 8 之间")
	public String getOrderNo() {
		return orderNo;
	}

	public void setOrderNo(String orderNo) {
		this.orderNo = orderNo;
	}
	
	@Length(min=0, max=1, message="菜单类型(0仓储、1生产、2设备、3质量、4能源、5成本、6计划）长度必须介于 0 和 1 之间")
	public String getMenuType() {
		return menuType;
	}

	public void setMenuType(String menuType) {
		this.menuType = menuType;
	}
	
	@Length(min=0, max=255, message="菜单名称长度必须介于 0 和 255 之间")
	public String getMenuName() {
		return menuName;
	}

	public void setMenuName(String menuName) {
		this.menuName = menuName;
	}
	
	@Length(min=0, max=64, message="菜单id长度必须介于 0 和 64 之间")
	public String getMenuId() {
		return menuId;
	}

	public void setMenuId(String menuId) {
		this.menuId = menuId;
	}
	
	@Length(min=0, max=255, message="菜单描述长度必须介于 0 和 255 之间")
	public String getMenuDescribe() {
		return menuDescribe;
	}

	public void setMenuDescribe(String menuDescribe) {
		this.menuDescribe = menuDescribe;
	}
	
	@Length(min=0, max=255, message="功能名称长度必须介于 0 和 255 之间")
	public String getFunctionName() {
		return functionName;
	}

	public void setFunctionName(String functionName) {
		this.functionName = functionName;
	}
	
	@Length(min=0, max=64, message="功能ID长度必须介于 0 和 64 之间")
	public String getFunctionId() {
		return functionId;
	}

	public void setFunctionId(String functionId) {
		this.functionId = functionId;
	}
	
	@Length(min=0, max=255, message="功能描述长度必须介于 0 和 255 之间")
	public String getFunctionDescribe() {
		return functionDescribe;
	}

	public void setFunctionDescribe(String functionDescribe) {
		this.functionDescribe = functionDescribe;
	}
	
	public String getFunctionMoney() {
		return functionMoney;
	}

	public void setFunctionMoney(String functionMoney) {
		this.functionMoney = functionMoney;
	}
	
	@Length(min=0, max=20, message="购买时长长度必须介于 0 和 20 之间")
	public String getUseTime() {
		return useTime;
	}

	public void setUseTime(String useTime) {
		this.useTime = useTime;
	}
	
	@Length(min=0, max=255, message="用户名称长度必须介于 0 和 255 之间")
	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}
	
	@Length(min=0, max=255, message="企业名称长度必须介于 0 和 255 之间")
	public String getCompanyName() {
		return companyName;
	}

	public void setCompanyName(String companyName) {
		this.companyName = companyName;
	}
	
	@Length(min=0, max=2, message="订单状态（0未审核、1待支付、2已支付）长度必须介于 0 和 2 之间")
	public String getStatus() {
		return status;
	}

	public void setStatus(String status) {
		this.status = status;
	}
	
	@Length(min=0, max=255, message="工厂编号长度必须介于 0 和 255 之间")
	public String getPlant() {
		return plant;
	}

	public void setPlant(String plant) {
		this.plant = plant;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getOverDate() {
		return overDate;
	}

	public void setOverDate(Date overDate) {
		this.overDate = overDate;
	}

	public String getIsRequired() {
		return isRequired;
	}

	public void setIsRequired(String isRequired) {
		this.isRequired = isRequired;
	}
	
}